package dk.sdu.mmmi.opn.rmi.observer;

import java.rmi.Remote;
import java.rmi.RemoteException;

/**
 * Distributed observer pattern implementation: interface for observable/subject role
 * Interface for a remotely observable object: remote observers implementing the IRemoteObserver
 * interface can register for update notifications and ask to be removed
 * @author ups
 */
public interface IRemoteObservable extends Remote{
	public void addObserver(IRemoteObserver observer) throws RemoteException;
	public void deleteObserver(IRemoteObserver observer) throws RemoteException;
	public void notifyObservers(Object event) throws RemoteException;
}
